﻿#ifndef ARRAY_H
#define ARRAY_H
#include<iostream>
template<typename T>
class name
{
public:
    name();
    name(int a);
    ~name();
    name(const name &old);
public:
    int m_a;
    T *m_p;
};
template<typename T>
name<T>::name():m_a(0),m_p(nullptr)
{

}
template<typename T>
name<T>::name(int a)
{
    this->m_a=a;
}
template<typename T>
name<T>::~name()
{
    delete[]m_p;
    m_p=nullptr;
}

template<typename T>
name<T>::name(const name &old):m_a(0),m_p(nullptr)
{
    if(old.m_p)
    {
    this->m_p=new int[old.m_a];
    memcpy(this->m_p,old.m_p,this->m_a*sizeof(T));
    }
}
#endif // ARRAY_H
